// Notice that it requires the maximum value.
#include<bits/stdc++.h>
using namespace std;
int mx = 0;
bool ispalindrome(string&s,int l, int r) {
  if(r-l<=1 && s[l]==s[r])return true;
  else if(s[l]!=s[r]) return false;
  else return ispalindrome(s, l+1, r-1);
}
int main() {
  for(int i=1000; i>=100; --i) {
    for(int j=i; j>=100; --j) {
      int p = i * j;
      string s = to_string(p);
      if(ispalindrome(s,0,s.size()-1)) {
        mx = max(mx, p);
      }
    }
  }
  cout<<mx<<endl;
}
